import request from '@/api/request'

interface CategoryData {
  id?: string
  name: string
  description?: string
  sort_order?: number
}

interface CategoryListParams {
  page?: number
  pageSize?: number
  name?: string
}

interface CategoryDetailParams {
  id: string
}

/**
 * 创建分类
 * @param data 分类数据
 * @returns 返回创建的分类信息
 */
export function createCategory(data: Omit<CategoryData, 'id'>) {
  return request.post('/categories/create', data)
}

/**
 * 更新分类
 * @param data 分类数据
 * @returns 返回更新后的分类信息
 */
export function updateCategory(data: CategoryData) {
  return request.post('/categories/update', data)
}

/**
 * 删除分类
 * @param data 删除数据
 * @returns Promise
 */
export function deleteCategory(data: CategoryDetailParams) {
  return request.post('/categories/delete', data)
}

/**
 * 查询分类列表
 * @param params 查询参数
 * @returns 返回分类列表
 */
export function getCategoryList(params?: CategoryListParams) {
  return request.post('/categories/list', params || {})
}

/**
 * 查询分类详情
 * @param data 查询数据
 * @returns 返回分类详情
 */
export function getCategoryDetail(data: CategoryDetailParams) {
  return request.post('/categories/detail', data)
}

